Dino Geek, intenta ayudarte

¿Cuál es la función de `filter_var` en PHP?


La función `filter_var` en PHP es una herramienta poderosa y versátil que permite validar y sanitizar datos. Esto es particularmente útil cuando se trabaja con datos de entrada, como los provenientes de formularios web, para asegurarse de que son seguros y correctos antes de procesarlos o almacenarlos en una base de datos. `filter_var` toma dos argumentos principales: el valor que se va a validar o sanitizar y un filtro que determina el tipo de validación o sanitización que se realizará.

  1. Validación

La validación asegura que los datos cumplen con ciertos criterios predefinidos. Por ejemplo, puedes usar `filter_var` para validar si una dirección de correo electrónico es válida:

```php
$email = “test@example.com”;
if (filter_var($email, FILTER_VALIDATE_EMAIL)) { echo “La dirección de correo electrónico es válida.”;
} else { echo “La dirección de correo electrónico no es válida.”;
}
```

En este ejemplo, se usa `FILTER_VALIDATE_EMAIL` que aplica un conjunto de reglas para determinar si la cadena proporcionada es una dirección de correo electrónico válida.

Otros filtros de validación incluyen:

- `FILTER_VALIDATE_BOOLEAN`: Valida un valor como un booleano.
- `FILTER_VALIDATE_FLOAT`: Valida un valor como un número de punto flotante.
- `FILTER_VALIDATE_INT`: Valida un valor como un número entero.
- `FILTER_VALIDATE_URL`: Valida un valor como una URL.

  1. Sanitización

La sanitización, por otro lado, limpia los datos para eliminar cualquier contenido potencialmente dañino o no deseado. Por ejemplo, puedes usar `filter_var` para eliminar todos los caracteres excepto las letras y números de una cadena:

```php
$str = “

Bienvenido

”;
$sanitized_str = filter_var($str, FILTER_SANITIZE_STRING);
echo $sanitized_str; // Salida: Bienvenido
```

En este caso, `FILTER_SANITIZE_STRING` elimina las etiquetas HTML del string, haciendo que quede solo el texto plano.

Otros filtros de sanitización incluyen:

- `FILTER_SANITIZE_EMAIL`: Elimina todos los caracteres excepto letras, dígitos y los caracteres !#$%&’*+-/=?^_`{|}~@.[].
- `FILTER_SANITIZE_NUMBER_FLOAT`: Elimina todos los caracteres excepto dígitos, signo de más, signo de menos, e, E y el separador decimal.
- `FILTER_SANITIZE_NUMBER_INT`: Elimina todos los caracteres excepto dígitos, signo de más y signo de menos.
- `FILTER_SANITIZE_URL`: Elimina todos los caracteres excepto letras, dígitos y $-_.+!*’(),{}|\\^~[]`<>#%”;/?:@&=.

  1. Ejemplo Completo

A continuación se muestra un ejemplo más completo en el que se valida y se sanitizan varios tipos de datos:

```php
$input_email = “ usuario@ejemplo.com “;
$input_age = “25años”;
$input_url = “http://www.ejemplo.com/”;

// Sanitizar los datos
$sanitized_email = filter_var($input_email, FILTER_SANITIZE_EMAIL);
$sanitized_age = filter_var($input_age, FILTER_SANITIZE_NUMBER_INT);
$sanitized_url = filter_var($input_url, FILTER_SANITIZE_URL);

// Validar los datos
if (filter_var($sanitized_email, FILTER_VALIDATE_EMAIL)) { echo “Correo electrónico validado: $sanitized_email\n”;
} else { echo “Correo electrónico no válido.\n”;
}

if (filter_var($sanitized_age, FILTER_VALIDATE_INT)) { echo “Edad validada: $sanitized_age\n”;
} else { echo “Edad no válida.\n”;
}

if (filter_var($sanitized_url, FILTER_VALIDATE_URL)) { echo “URL validada: $sanitized_url\n”;
} else { echo “URL no válida.\n”;
}
```

  1. Fuentes Utilizadas

- [PHP Manual – filter_var](https://www.php.net/manual/es/function.filter-var.php)
- [W3Schools – PHP Filters](https://www.w3schools.com/php/php_filter.asp)
- [Mozilla Developer Network (MDN) – Data Validation in PHP](https://developer.mozilla.org/en-US/docs/Learn/Server-side/PHP/Validation)

La función `filter_var` es esencial para garantizar la seguridad y la integridad de los datos en aplicaciones PHP. Al validar y sanitizar correctamente los datos de entrada, puedes prevenir una multitud de vulnerabilidades de seguridad comunes.


Genera artículos simplemente para optimizar tu SEO
Genera artículos simplemente para optimizar tu SEO





DinoGeek ofrece artículos sencillos sobre tecnologías complejas

¿Desea ser citado en este artículo? Es muy sencillo, contáctenos en dino@eiki.fr.

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nombre de dominio | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Aviso legal / Condiciones generales de uso